﻿CodeMirror.overlayMode=CodeMirror.overlayParser=function(c,d,e){return{startState:function(){return{base:CodeMirror.startState(c),overlay:CodeMirror.startState(d),basePos:0,baseCur:null,overlayPos:0,overlayCur:null}},copyState:function(a){return{base:CodeMirror.copyState(c,a.base),overlay:CodeMirror.copyState(d,a.overlay),basePos:a.basePos,baseCur:null,overlayPos:a.overlayPos,overlayCur:null}},token:function(a,b){a.start==b.basePos&&(b.baseCur=c.token(a,b.base),b.basePos=a.pos);a.start==b.overlayPos&&
(a.pos=a.start,b.overlayCur=d.token(a,b.overlay),b.overlayPos=a.pos);a.pos=Math.min(b.basePos,b.overlayPos);a.eol()&&(b.basePos=b.overlayPos=0);return null==b.overlayCur?b.baseCur:null!=b.baseCur&&e?b.baseCur+" "+b.overlayCur:b.overlayCur},indent:c.indent&&function(a,b){return c.indent(a.base,b)},electricChars:c.electricChars,innerMode:function(a){return{state:a.base,mode:c}},blankLine:function(a){c.blankLine&&c.blankLine(a.base);d.blankLine&&d.blankLine(a.overlay)}}};